package com.elitel.frame.web.serverreqstat.dao;

import com.elitel.frame.web.serverreqstat.dto.ServerReqStatDTO;
import com.elitel.frame.web.serverreqstat.entity.ServerAppStat;
import com.elitel.frame.web.serverreqstat.entity.ServerErrorStat;
import com.elitel.frame.web.serverreqstat.entity.ServerReqSimpleStat;
import com.elitel.frame.web.serverreqstat.entity.ServerReqStat;
import com.elitel.frame.web.sysreqlog.entity.SysReqLog;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author m
 */
public interface ServerReqStatDao {

    ServerReqSimpleStat selectServerReqSimpleStat(ServerReqStatDTO dto);

    ServerReqSimpleStat selectMaxReqServer(ServerReqStatDTO dto);

    ServerErrorStat selectServerErrorStat(ServerReqStatDTO dto);

    int selectAppCodeCount( @Param("flag")String flag, @Param("servCodes")List<String> servCodes);

    List<ServerAppStat.AppReqInfo> selectTotalAppReq(ServerReqStatDTO dto);

    List<ServerAppStat.AppReqInfo> selectDayAppReq(ServerReqStatDTO dto);

    List<ServerReqStat> selectServerStatList(ServerReqStatDTO dto);

    List<SysReqLog> selectStatList(LocalDateTime bgtm, LocalDateTime edtm, @Param("flag")String flag, @Param("servCodes")List<String> servCodes);

    List<String> getApps(String guid);

    ServerErrorStat selectServerErrorStat2(ServerReqStatDTO dto);
}
